#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <assert.h>

//char* my_strcpy(char* dest, const char* src)
//{
//	assert(src && dest);
//	char* ret = dest;
//	while (*dest++ = *src++)
//	{
//		;
//	}
//	return ret;
//}
//
//size_t my_strlen(const char* str)
//{
//	assert(str);
//	size_t count = 0;
//	while (*str != '\0')
//	{
//		str++;
//		count++;
//	}
//	return count;
//}

//int my_strcmp(const char* arr1, const char* arr2)
//{
//	assert(arr1 && arr2);
//	while (*arr1 == *arr2 && *arr1 && *arr2)
//	{
//		arr1++;
//		arr2++;
//	}
//	return *arr1 - *arr2;
//}

//char* my_strcat(char* dest, const char* src)
//{
//	assert(dest && src);
//	char* ret = dest;
//	while (*dest)
//	{
//		dest++;
//	}
//	while (*dest++ = *src++)
//	{
//		;
//	}
//	return ret;
//}

char* my_strstr(const char* str1, const char* str2)
{
	assert(str1 && str2);
	char *s1,*s2;
	while (*str1)
	{
		s1 = (char*)str1;
		s2 = (char*)str2;
		while (*s1 == *s2 && *s1 && *s2)
		{
			s1++;
			s2++;
		}
		if (*s2 == '\0')
			return (char*)str1;
		str1++;
	}
	return NULL;
}

int main()
{
	char arr1[20] = "abcdef";
	char arr2[10] = "bc";
	char* ret = my_strstr(arr1, arr2);
	printf("%s\n", ret);
	return 0;
}